package com.xmtlxx.system.domain.vo;

import com.xmtlxx.common.annotation.ExcelDictFormat;
import com.xmtlxx.common.convert.ExcelDictConvert;
import com.alibaba.excel.annotation.ExcelIgnoreUnannotated;
import com.alibaba.excel.annotation.ExcelProperty;
import com.baomidou.mybatisplus.annotation.TableField;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;


/**
 * 工作流节点视图对象 sys_node
 *
 * @author xmtlxx
 * @date 2022-04-24
 */
@Data
@ApiModel("工作流节点视图对象")
@ExcelIgnoreUnannotated
public class SysNodeVo {

    private static final long serialVersionUID = 1L;

    /**
     * 节点id
     */
    @ExcelProperty(value = "节点id")
    @ApiModelProperty("节点id")
    private String nid;

    /**
     * 流程id
     */
    @ExcelProperty(value = "流程id")
    @ApiModelProperty("流程id")
    private String wid;

    /**
     * 节点条件
     */
    @ExcelProperty(value = "节点条件")
    @ApiModelProperty("节点条件")
    private String cond;

    /**
     * 父节点
     */
    @ExcelProperty(value = "父节点")
    @ApiModelProperty("父节点")
    private String pid;

    /**
     * 名称
     */
    @ExcelProperty(value = "名称")
    @ApiModelProperty("名称")
    private String name;

    /**
     * 经办类型：0-指定用户；1-指定角色；2-指定部门
     */
    @ExcelProperty(value = "经办类型：0-指定用户；1-指定角色；2-指定部门", converter = ExcelDictConvert.class)
    @ExcelDictFormat(dictType = "handle_type")
    @ApiModelProperty("经办类型：0-指定用户；1-指定角色；2-指定部门")
    private String otype;

    /**
     * 是否可以转办
     */
    @ExcelProperty(value = "是否可以转办", converter = ExcelDictConvert.class)
    @ExcelDictFormat(dictType = "sys_yes_no")
    @ApiModelProperty("是否可以转办")
    private String zflag;

    /**
     * 转办类型：0-指定用户；1-指定角色；2-指定部门
     */
    @ExcelProperty(value = "转办类型：0-指定用户；1-指定角色；2-指定部门", converter = ExcelDictConvert.class)
    @ExcelDictFormat(dictType = "handle_type")
    @ApiModelProperty("转办类型：0-指定用户；1-指定角色；2-指定部门")
    private String ttype;

    /**
     * 排序
     */
    @ExcelProperty(value = "排序")
    @ApiModelProperty("排序")
    private Long sort;

    /**
     * 起点标识
     */
    @ExcelProperty(value = "起点标识", converter = ExcelDictConvert.class)
    @ExcelDictFormat(dictType = "sys_yes_no")
    @ApiModelProperty("起点标识")
    private String sflag;

    /**
     * 完结标识
     */
    @ExcelProperty(value = "完结标识", converter = ExcelDictConvert.class)
    @ExcelDictFormat(dictType = "sys_yes_no")
    @ApiModelProperty("完结标识")
    private String eflag;

    /**
     * 状态
     */
    @ExcelProperty(value = "状态", converter = ExcelDictConvert.class)
    @ExcelDictFormat(dictType = "glo_status")
    @ApiModelProperty("状态")
    private String status;

    /**
     * 节点编号
     */
    @ExcelProperty(value = "节点编号")
    @ApiModelProperty("节点编号")
    private String nodeno;

    /**
     * 流程编号
     */
    @ExcelProperty(value = "流程编号")
    @ApiModelProperty("流程编号")
    private String nids;

    /**
     * 描述
     */
    @ExcelProperty(value = "描述")
    @ApiModelProperty("描述")
    private String memo;

    /**
     * 经办者组
     */
    @ApiModelProperty(value = "经办者组")
    @TableField(exist = false)
    private Long[] objIds;

    /**
     * 转办者组
     */
    @ApiModelProperty(value = "转办者组")
    @TableField(exist = false)
    private Long[] tobjIds;

    /**
     * 经办部门名称
     */
    @ApiModelProperty(value = "经办部门名称")
    @TableField(exist = false)
    private String deptName;

    /**
     * 转办部门名称
     */
    @ApiModelProperty(value = "经办部门名称")
    @TableField(exist = false)
    private String deptTName;

}
